package com.tsd.jxc.goods.dao;

import com.tsd.core.vo.PageBean;
import com.tsd.jxc.goods.entity.JxcGoods;
import com.tsd.jxc.goods.entity.JxcGoodsExt;
import com.tsd.jxc.goods.vo.JxcGoodsVo;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * 描述：JxcGoodsMapper
 *
 * @author Hillpool
 * @date 2022/07/29 15:02:41
 */
public interface JxcGoodsMapper {

    JxcGoods selectByPrimaryKey(Long id);

    JxcGoodsExt selectBySid(String sid);

    int deleteByPrimaryKey(Long id);

    int insert(JxcGoods record);

    int insertSelective(JxcGoods record);

    int insertList(@Param("list") List<JxcGoodsExt> list);

    int updateByPrimaryKey(JxcGoods record);

    int updateByPrimaryKeySelective(JxcGoods record);

    int updateList(@Param("list") List<JxcGoodsExt> list);

    List<JxcGoodsExt> selectByEntity(JxcGoodsExt record);

    List<JxcGoodsExt> selectByPage(@Param("params") Map<String, Object> params, @Param("page") PageBean page);

    List<JxcGoodsExt> selectCount1Page(@Param("params") Map<String, Object> params, @Param("page") PageBean page);

    List<JxcGoodsExt> selectByParams(@Param("params") Map<String, Object> params);

    List<JxcGoodsVo> select4ProductByPage(@Param("params") Map<String, Object> params, @Param("page") PageBean page);

    int countValid();

    List<JxcGoodsVo> select4ClothingByPage(@Param("params") Map<String, Object> params, @Param("page") PageBean page);

    JxcGoodsExt selectDuplicatedCode(JxcGoodsExt record);

    int syncGoodsBaseInfo(@Param("sid_list") List<String> sid_list);
}
